package com.ktwlrj.core.feign.dto;


import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 会员信息(Member)实体类
 *
 * @author zhouxuanhong
 * @date 2019-04-10 15:47:11
 * @since JDK1.8
 */
@Data
@ApiModel(value = "会员基本信息dto", description = "会员基本信息dto")
public class MemberInfoDto implements Serializable {
    private static final long serialVersionUID = -45013851583181027L;

    private String memberId;

    @ApiModelProperty(name = "openId", value = "开放ID")
    private String openId;

    @ApiModelProperty(name = "loginId", value = "登陆序号")
    private String loginId;

    @ApiModelProperty(name = "account", value = "账号")
    private String account;

    @ApiModelProperty(name = "mobilePhone", value = "手机号码")
    private String mobilePhone;

    @ApiModelProperty(name = "certificationType", value = "证件类型")
    private Integer certificationType;

    @ApiModelProperty(name = "certificationId", value = "证件号码")
    private String certificationId;

    @ApiModelProperty(name = "state", value = "会员状态0-不可用，1-可用")
    private Integer state;

    @ApiModelProperty(name = "regDate", value = "注册时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date regDate;

    @ApiModelProperty(name = "regFrom", value = "注册来源:0-手机号码快速注册，2-管理后台注册")
    private Integer regFrom;

    @ApiModelProperty(name = "email", value = "电子邮箱")
    private String email;

    @ApiModelProperty(name = "realName", value = "真实姓名")
    private String realName;

    @ApiModelProperty(name = "nickName", value = "昵称")
    private String nickName;

    @ApiModelProperty(name = "headIcon", value = "头像")
    private String headIcon;

    @ApiModelProperty(name = "addressAreaId", value = "地址所属区域编码")
    private String addressAreaId;

    @ApiModelProperty(name = "address", value = "地址")
    private String address;

    @ApiModelProperty(name = "birthday", value = "生日")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date birthday;

    @ApiModelProperty(name = "gender", value = "性别:0-男，1-女，2-未知")
    private Integer gender;

    @ApiModelProperty(name = "grade", value = "会员等级")
    private Integer grade;

    @ApiModelProperty(name = "experience", value = "经验")
    private Integer experience;

    @ApiModelProperty(name = "integral", value = "积分")
    private Integer integral;

    @ApiModelProperty(name = "vipGrade", value = "VIP等级")
    private Integer vipGrade;

    @ApiModelProperty(name = "regSystemid", value = "接口注册来源系统序号")
    private String regSystemid;

    @ApiModelProperty(name = "education", value = "文化程度")
    private String education;

    @ApiModelProperty(name = "loginHashKey", value = "环信密码")
    private String loginHashKey;

    @ApiModelProperty(name = "accounttype", value = "账号类型-用于区分注册来源(与贵阳房产超市账号同步使用)")
    private String accounttype;

    @ApiModelProperty(name = "accountupdatedate", value = "账号更新时间(与贵阳房产超市账号同步使用)")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date accountupdatedate;

    @ApiModelProperty(name = "stateTime", value = "账号状态开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date stateTime;

    @ApiModelProperty(name = "certificationLevel", value = "实名注册等级")
    private Integer certificationLevel;

    @ApiModelProperty(name = "memberAccountType", value = "会员中号类型1-普通会员，2-企业")
    private Integer memberAccountType;

    @ApiModelProperty(name = "currentOrgId", value = "当前用户登录选择的机构id")
    private String currentOrgId;

    @ApiModelProperty(name = "currentSocialCreditCode", value = "当前用户选择的机构统一社会信用代码")
    private String currentSocialCreditCode;

    @ApiModelProperty(name = "currentOrgName", value = "当前选择的机构名称")
    private String currentOrgName;

    @ApiModelProperty(name = "regionCode", value = "当前机构区域编码")
    private String regionCode;

    @ApiModelProperty(name = "regionName", value = "当前机构区域编码名称")
    private String regionName;

}